查看原文
其他

拥抱微服务不用一步到位,找对目标比全面重构更重要

来源:https://www.ithome.com.tw/news/133294

「容器、微服务试了才知道!」大半生投入银行IT的彰化银行信息处处长陈显龙,谈起最新的容器技术,冲劲满满。
 


这家百年老店正在思考银行架构的大改造,不只要展开银行核心系统大升级,为了更快速反应市场变化,陈显龙还计划,引进最新的微服务架构、容器技术、商用Kubernetes产品等,来优化现有的系统。他希望改用「服务」来取代过去以业务为导向的功能模块,打造一套可以弹性组合及扩充的新一代分行端末系统。( 端末系统指在支行(网点)运行的、应用于柜员工作站的业务系统)
 
陈显龙早在多年前就推动过一波彰银IT集中化架构的改造,可以做到全球全行一日结帐。相比自己过去熟悉的VM、SOA架构,他认为,容器和微服务架构的核心概念其实也很类似,开始导入这些技术时,银行IT团队大概可以知道该如何进行。
 
但是,「没有踩进去,就无法知道开始的准备工作到什么程度才够,做过一次就知道。」他坦言:「第一次不见得能做好,就算这次失败,下次就可以调整得更棒。」所以,趁着核心系统升级之际,他打算先从分行端末系统开始拥抱容器技术和微服务,让IT团队练手。
 
彰化银行不是唯一一家想要拥抱当红微服务和容器架构的台湾企业,除了网络公司、新创公司早就积极拥抱之外,这两年如第一金人寿、国泰世华银行、远传电信、中华电信等也开始尝试用于特定领域或应用上,更有不少机器学习或深度学习分析团队背后所用的运算环境,就是靠K8s和容器来调度,例如台湾最新款的超级计算机台湾杉2号上就部署了一套K8s环境。
 
传统企业拥抱微服务的挑战,远比新创公司、网络原生服务业者或行动应用业者,来得更困难,最大的挑战就是大量单体式既有应用的包袱。如何踏出第一步,一步到位全面采用?还是分批进行?该从何下手?这都是CIO的困扰。
 
Gartner资深研究总监Kevin Matheny建议,拥抱微服务最好不要一步到位,更不要赶流行,「导入微服务要先找对目标,可从面对顾客、需要快速改变的AP入手,一步到位全面重构的成本太高。」
 
他从两个角度来看微服务架构,微服务的内部架构是容器技术和应用程序的程序代码,大多是企业IT开发团队熟悉的领域。「微服务的精神是将大型应用打破成小单位,来实现最小变动,做到每次改变,都刚好是需要的最小调整。
 
不过,解构了大型应用程序之后,将内部元件移到应用程序外来运行时,为了控制这些元件之间的存取,「微服务架构的外部环境,需要有一套支持系统和管理系统。
 
这些让微服务顺利运行的机制,除了用来管理容器的Kubernetes之外,还需要CI/CD自动化机制、用于服务互通管理用的服务网格(Service Mesh)机制、确保微服务运行的监控机制、面对不同前端应用的对外应用闸道器,以及其他后端服务机制等。
 
「拥抱微服务的代价是,复杂的运维和痛苦的导入过程。」Kevin Matheny指出。后者正是高度e化传统企业的第一个挑战,他认为,若有应用程序需要经常改变,就很适合改用微服务架构,否则不需要。
 
「若企业的应用程序一个月才需要变动一次,就不需要这样的架构,太浪费了。」例如现有银行核心系统,他就不建议先套用微服务架构。
 
他解释,微服务架构是一种专供持续变革用的架构,企业可以进行最小幅度的修改,又能同时了解这些修改的影响,作为日后变动的反馈,「通常是面对顾客的系统,例如Web应用,才需要寻求持续不断的变动。」
 
【微服务设计架构】Gartner提供了一套微服务设计架构,不同的微服务通过容器封装,部署在容器管理平台(如K8s)上,还需搭配CI/CD自动化工具,Service Mesh机制、后端服务、监测机制和对外Gateway。(图片来源/Gartner)

 
三阶段导入微服务,选对目标是第一步
 
Kevin Matheny也提供了一套企业三阶段导入微服务的方法。「第一步要选对目标!」先辨识出需要经常改变的应用或服务,而且要从业务利益角度来挑选,同时还要评估企业对于微服务架构的准备度。
 
第二步则是要强化开发能力。包括要提升IT团队的能力,同时要从产品或应用程序生命周期来思考,并大力拥抱自动化的开发流程和工具,例如CI/CD。
 
完成了第一、第二步之后,开始从小地方入手,梳理出可从单体式应用中剥离出来的功能API,再从中抽出最小单位的微服务,作为打造微服务的目标和起点。
 
就算是IT资源较充沛的银行,最好也先从顾客系统开始拥抱微服务,累积足够的人才和经验后,评估真有需要经常变动的效益,才需要将微服务延伸到核心系统上。
 
「微服务架构不应该是企业的目标,」Kevin Matheny再三强调这件事,未来企业IT不会只需管理微服务架构,而是微服务和传统架构并行管理,所以,不要问如何拥抱微服务架构?而要思考,你有什么问题,需要靠微服务才能解决?尽管IT要有大架构和蓝图策略,「先从小服务,开始感受到微服务的好处,远比IT架构大跃进更为可行。」曾在年营收4百亿美元的美国零售巨头Best Buy担任过电商架构总监13年的Kevin Matheny,这是他对有意拥抱微服务的台湾企业,最重要的建议。



END


推荐阅读:

《运维三十六计》:运维生存必备宝典

Kubernetes 滚动发布机制详解

记一次 Linux 被入侵,服务器变 “矿机”~

小团队如何从零搭建一个自动化运维体系?

回顾 Kubernetes 最近 6 个版本重点更新

Kubeadm 部署高可用 K8S 集群

Kubernetes + Jenkins + Helm + Springboot 实践

一文搞懂蓝绿发布、灰度发布和滚动发布

30个Linux Shell脚本经典案例(中)

10 个Linux Awk文本处理经典案例

16 张图带你快速入门 Ansible

一篇文章全面了解运维监控知识体系

Kubernetes 企业容器云平台实战


年轻时偷的懒,迟早是要还的。点亮

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存